這篇會先說明主要特性以及稍微介紹對稱密碼以及公鑰密碼:
名詞介紹
- 加密解密:
- 機密性:
機密性為密碼學其中之一的特性,因為透過加密傳輸解密的過程有透過密文傳輸,沒有解密手段的人沒辦法看到內容,故為機密性
。
- 破譯:
通常為沒有解密手段的人沒辦法看到內容,但很多時候會用暴力破解或攻擊漏洞來取得內容
- 單向散列函數(one-way hash function):
無法透過最後得到的結果回推原內容,同樣的資料透過單向散列函數得到的會是同個結果(一致性
)。
用來確保資料中途未遭修改,常用的算法為:md5、sha1等
- 消息認證碼:
用來證明該消息為某人發出的,避免有人假冒他人名義
此技術為公鑰密碼的反向利用:用私鑰加密、公鑰解密,因為其他接收者能解密就代表消息是握有私鑰的人發送的。(防止否認性
)
- 密鑰:密鑰等於保險箱鑰匙,加密算法需要靠相對的密鑰生成密文,同樣解密也需要密鑰解成明文。
對稱密碼與公鑰密碼
- 對稱密碼
發送端跟接收端為同個密鑰,雖然加密速度較快但密文較長,金鑰數量為2^n,安全上較有疑慮(因為要防止金鑰外流避免被其他人拿到破解)
- 公鑰密碼
發送端跟接收端密鑰不同,私鑰為自己保管解密用,公鑰為想祕密傳輸的人用,金鑰數量為2^n就夠。
- 混合密碼系統
混合=公鑰密碼+對稱密碼,例子:
C人先用公鑰密碼加密對稱密碼的A=金鑰B
再用對稱密碼加密明文送到D,則D先用手上的私鑰解密B為原本用對稱金鑰的A後再用A解密文。
機密100分!!!
對稱密碼的常用算法為: DES, AES 等等
公鑰密碼的常用算法為: RSA256, RSA1024 等
參考資料
這篇是從我自己大二時整理出來的筆記,當時有參考https://hackmd.io/@starPt/ByUf1sdRr